SDEI: Fix dispatch bug
authorJeenu Viswambharan <[email protected]>
Fri, 22 Jun 2018 10:21:35 +0000 (11:21 +0100)
committerJeenu Viswambharan <[email protected]>
Fri, 22 Jun 2018 10:31:58 +0000 (11:31 +0100)
The Commit cdb6ac94ecb3c4caa784cd4d7580cf6252146196 introduced a bug
because of which the SDEI dispatcher wrongly panic when an SDEI event
dispatched earlier as a result of interrupt. This patch fixes the check
for a bound interrupt.

Change-Id: If55c8f0422ff781731248bbbc9c1b59fa0d3c4b0
Signed-off-by: Jeenu Viswambharan <[email protected]>
services/std_svc/sdei/sdei_intr_mgmt.c

index 6acb129583a890acd3aea93738157bc8be54f753..264ab44357f827b3dc051712f4f3e8b8824fda00 100644 (file)
@@ -505,7 +505,7 @@ int sdei_intr_handler(uint32_t intr_raw, uint32_t flags, void *handle,
         * the event handling completed, EOI the corresponding
         * interrupt.
         */
-       if ((map->ev_num != SDEI_EVENT_0) && is_map_bound(map)) {
+       if ((map->ev_num != SDEI_EVENT_0) && !is_map_bound(map)) {
                ERROR("Invalid SDEI mapping: ev=%u\n", map->ev_num);
                panic();
        }